// https://leetcode-cn.com/problems/rotate-list/submissions/
/* 题目是向右 也就是顺着链表的方向转动链表 ， 想象一下 有个钉子不动 链表首尾相连 顺着链表的方向转动
停下来的时候 钉子的位置的节点就是新的头结点 ， 往右转n步才 等于 指针倒着走n步 但是实际上不能倒着走 所以就是链表长度减n
对于n大于链表长度的 直接取余
*/
var rotateRight = function(head, k) {
    // 连成环 在合适的地方断开
    let len =1
    if( !head || !head.next){ return head}
    let tail = head
    while(tail.next){
        tail = tail.next
        len++
    }
    k = k % len
    let step = len - k 

    tail.next = head ;
    while(step-- >1 ){
        head =head.next
    }
    let cur = head.next 
    head.next = null
    return cur



};